home *** CD-ROM | disk | FTP | other *** search
/ Publication 4 / Publication_04_19xx_High-Tech_de_Side_B.d64 / datamaker v 2.0 (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  2KB  |  88 lines

  1. 1 rem: datamaker        v2.0   13.1.84
  2. 2 rem: [c] hans-juergen kutz    jan/84
  3. 3 poke53280,12:poke53281,12
  4. 4 open1,0
  5. 5 printchr$(142)"[147][144]         * * * datamaker * * *"
  6. 6 print"            [c] jan/1984 by"
  7. 7 print"           hans-juergen kutz"
  8. 8 print
  9. 9 print"           5100 aachen"
  10. 10 gosub49
  11. 11 print"[147]datamaker wandelt ein maschinensprache- programm in ein basic-";
  12. 12 print"ladeprogramm um."
  13. 13 print"die von datamaker erfragte zeilennummer sollte bei groesseren oder ";
  14. 14 print"mehreren zu  uebersetzenden programmen mit max.59000 angegeben werden."
  15. 15 fori=1to500:next:gosub49
  16. 16 print"[147][144]mit welcher zeilennummer sollen die     datazeilen beginnen ?"
  17. 17 lm=6:gosub50:z=e:ifz>63996orz<88then16
  18. 18 gosub61:z=z-1
  19. 19 print"in welchem bereich liegt das maschinen- programm ?"
  20. 20 print"bitte dezimale angaben."
  21. 21 zl=10:gosub67
  22. 22 ze=10:sp=0:gosub68
  23. 23 print"startadresse : ";
  24. 24 sp=15:gosub68
  25. 25 lm=6:gosub50:sa=e
  26. 26 ifsa>65535then21
  27. 27 zl=12:gosub67
  28. 28 ze=12:sp=0:gosub68
  29. 29 print"endadresse   : ";
  30. 30 sp=15:gosub68
  31. 31 lm=6:gosub50:se=e
  32. 32 ifse<saorse>65535then27
  33. 33 t=int((se-sa)/16)+2
  34. 34 ifz+t>63999thenprint"bitte kleinere zeilennummer waehlen.":goto13
  35. 35 gosub63:printchr$(147):s=sa:gosub71:a$=s$:s=se:gosub71:e$=s$:gosub73
  36. 36 print""z"fori="a$"to"e$":readq:pokei,q:next":print"goto37":goto85
  37. 37 gosub62:gosub65
  38. 38 n=sa+15:ifn>sethenn=se
  39. 39 gosub72
  40. 40 print""z"data"peek(sa)"[157]";:i=sa:gosub74:ifsa=nthenprint:print"goto45":goto42
  41. 41 fori=sa+1ton:gosub74:s=peek(i):gosub71:print","s$;:next:print:print"goto43"
  42. 42 sa=i:gosub61:gosub63:goto85
  43. 43 gosub62:gosub65
  44. 44 ifsa<=sethen38
  45. 45 print"[147][144]noch weitere umwandlungen ?"
  46. 46 gete$:ife$<>"j"thenife$<>"n"then46
  47. 47 ife$="j"thengosub62:goto18
  48. 48 goto76
  49. 49 poke198,0:wait203,63:return
  50. 50 e=lm:ee$=""
  51. 51 poke204,0:poke198,0
  52. 52 wait198,255:wait207,1,1
  53. 53 gete$
  54. 54 ifasc(e$)=20theniflen(ee$)>0thenee$=left$(ee$,len(ee$)-1):e=e+1:printe$;:goto52
  55. 55 ifasc(e$)=13then59
  56. 56 ife$<"0"ore$>"9"then52
  57. 57 printe$;
  58. 58 ee$=ee$+e$:e=e-1:ife>0then52
  59. 59 e=val(ee$):print
  60. 60 wait207,1,1:poke204,1:return
  61. 61 poke251,z/256:poke252,z-256*peek(251)
  62. 62 z=256*peek(251)+peek(252)+1:return
  63. 63 poke253,sa/256:poke254,sa-256*peek(253)
  64. 64 poke629,se/256:poke630,se-256*peek(629)
  65. 65 sa=256*peek(253)+peek(254)
  66. 66 se=256*peek(629)+peek(630):return
  67. 67 poke781,zl:sys59903:return
  68. 68 ifze>24thenze=ze-25:goto68
  69. 69 ifsp>39thensp=sp-40:goto69
  70. 70 poke214,ze:poke211,sp:sys58732:return
  71. 71 s$=right$(str$(s),len(str$(s))-1):return
  72. 72 forzl=0to2:poke781,zl:sys59903:next
  73. 73 ze=24:sp=20:gosub68:print"[144]bitte warten.";:poke646,peek(53281):return
  74. 74 zr=peek(214):sr=peek(211):ze=10:sp=15:gosub68:print"[144]"i:ze=zr:sp=sr:gosub68
  75. 75 poke646,peek(53281):return
  76. 76 poke2,0:gosub72
  77. 77 n=peek(2)+1
  78. 78 poke2,n:w=77
  79. 79 ifn=wthenw=w+5
  80. 80 print""n:print"goto"w
  81. 81 goto84
  82. 82 n=peek(2):print"[147]"n+1:printn+2:printn+3:printn+4:printn+5
  83. 83 printn+6:printn+7:printn+8:print"goto86"
  84. 84 poke631,19:forn=632to640:poken,13:next:poke198,10:end
  85. 85 poke631,19:poke632,13:poke633,13:poke198,3:end
  86. 86 print"[147]86":print"87":print"[144]list":poke631,19:poke632,13
  87. 87 poke633,13:poke634,13:poke198,4:end
  88.